package main

// import (
//     // "fmt"
//     "os"
//     // "github.com/MarinX/keylogger"
//     evdev "github.com/gvalkov/golang-evdev"
// )

// type KeyLog struct{
//     count  int
// }

// func (keylog *KeyLog)GetCount()  int {
//     return keylog.count
// }

// func (keylog *KeyLog)Start() {

//     if os.Getuid() != 0 {
//         return
//     }

//     // keyboard := keylogger.FindKeyboardDevice()
//     // fmt.Println(keyboard)
//     // 创建键盘记录器实例
//     // k, err := keylogger.New("/dev/input/event2")
//     k, err := evdev.Open("/dev/input/event2")
//     if err != nil {
//         logger.Println("无法创建键盘记录器:", err)
//         return
//     }

//     // defer k.Close()
//     for {
//         events, err := k.Read()
//         if err != nil {
//             logger.Println("读取输入事件失败: %v", err)
//         }
//         for _, ev := range events {
//             // 按键事件
//             if ev.Type == evdev.EV_KEY && (ev.Value == 1 || ev.Value == 0) {
//                 keyName := evdev.KEY[int(ev.Code)]
//                 keylog.count++
//                 if keyName != "" {
//                     // logger.Printf("[%5d]：%s\n", keylog.count, keyName)
//                     continue
//                 } else {
//                     logger.Printf("按键码：%d\n", ev.Code)
//                 }
//             }
//         }
//     }

//     // // 监听键盘事件
//     // events := k.Read()

//     // for e := range events {
//     //     // 按键事件
//     //     if e.Type == keylogger.EvKey && e.KeyRelease() {
//     //         keylog.count++
//     //         fmt.Printf("按键码：%+v [ %d ] \n", e, keylog.count)
//     //     }
//     // }
// }
